Смотрим картинку ниже.

Итак, для того, чтобы начать двигаться по реестру нам нужно получить ветвь реестра. Как это сделать написано в шагах "Шаг 140 - Доступ к реестру" и "Шаг 142 - Класс Registry", получить ветвь мы можем используя рекурсию перебирать ветви дерева читайте "Шаг 144 - Перебор ветвей и рекурсия", но для того, чтобы идти ниже по дереву нам нужно пункты открывать об этом читайте "Шаг 145 - Открываем пункт OpenSubKey". Отбытие пунктов производится на основе имени пункта, список имен можно получить "Шаг 143 - Получение имен пунктов GetSubKeyNames". К каждому пункту может быть привязано значение, можно получить список значений "Шаг 146 - Перебор имен значений ключей GetValueNames". На основе имени можно получить тип и само значение читайте "Шаг 147 - Получаем значения".
Если мы точно знаем куда идти, то нет надобности последовательно открывать реестр. Можно сразу отрыть необходимые нам пункты.
using System;
using Microsoft.Win32;
class MainClass
{
public static void Main(string[] args)
{
RegistryKey rk = Registry.CurrentConfig;
RegistryKey rknew=rk.OpenSubKey("System\\CurrentControlSet\\SERVICES\\NV4\\DEVICE0");
foreach(string cv in rknew.GetValueNames())
{
Console.WriteLine(cv);
}
}
}
Мы использовали OpenSubKey, чтобы сразу добраться до нужного места.
